Subject: [PATCH] vmx-shadow-lock.patch
Fix an assertion failure due to not holding the shadow_lock()
Also remove a printk that makes debug=y too verbose.
Fix an assertion that required PERF_COUNTER
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
Signed-off-by: ian@xensource.com
void vmx_shadow_clear_state(struct domain *d)
{
SH_VVLOG("vmx_clear_shadow_state:");
+ shadow_lock(d);
clear_shadow_state(d);
+ shadow_unlock(d);
}
#endif
if ( ! (ss & PSH_shadowed) )
{
- printk("%s-PT %p not shadowed\n", s, gptbase);
-
+ /*printk("%s-PT %p not shadowed\n", s, gptbase);*/
if ( ss != 0 )
BUG();
return;
printk("Xlive=%d free=%d\n",live,free);
abs = (perfc_value(shadow_l1_pages) + perfc_value(shadow_l2_pages)) - live;
+#ifdef PERF_COUNTERS
if ( (abs < -1) || (abs > 1) )
{
printk("live=%d free=%d l1=%d l2=%d\n",live,free,
perfc_value(shadow_l1_pages), perfc_value(shadow_l2_pages) );
BUG();
}
+#endif
}
#else
#define shadow_audit(p, print) ((void)0)